Integration of optical proximity correction and mask data preparation

ABSTRACT

Aspects of the invention relate to techniques for integrating optical proximity correction and mask data preparation. First mask writer instructions for a layout design are simulated to generate a mask contour. Based on the generated mask contour, first layout data for the layout design are adjusted for optical proximity correction to generate second layout data. Using the generated second layout data as mask target, the first mask writer instructions are adjusted to generate second mask writer instructions. The above process may be iterated until an end condition is met.

FIELD OF THE INVENTION

The present invention relates to photolithographic processingtechnologies. Various implementations of the invention may beparticularly useful for creating masks with curved or angled features.

BACKGROUND OF THE INVENTION

As photolithography is pushed to fabricate deep-subwavelength devices,photomask (or mask) preparation is becoming more critical than everbefore. This is in part due to the fact that mask patterns have becomemore complex than conventional Manhattan shapes. Multi-patterning andother techniques needed to extend the 193 immersion capabilities usuallydepend on a large amount of decoration with optical proximity correction(OPC) shapes. Unlike simple orthogonal SRAFs, the SRAFs for 22 nm/20 nmtechnology nodes tend to be blobs or curvilinear lines. In the contactand via layers, and particularly for isolated features, extensive use ofsub-resolution assist features (SRAFs) is needed to produce the requiredprocess window. Another source of complex mask patterns is inverselithography. Masks computed through use of inverse lithography are knownto provide significantly better lithographical performance even thanconventional model-based OPC. Such masks, however, generally containpatterns with smaller segments and curved shapes.

Masks that preserve natural output shapes from inverse lithographysolutions are shown to have better lithography process window than theirManhattan counterparts. To manufacture masks with complex shapes, astraightforward approach is to represent curvilinear shapes withManhattan segments. This may not only lead to a large number of shots,but also affect mask pattern fidelity. Model-based mask data preparation(MDP) methods may achieve shot count savings and preserve curved shapes.Some of these methods use smooth and curved contours as mask targets andadjust the numbers, positions and sizes of rectangular shots foroptimization. No matter which model-based methods are employed, therewill still be residue mask errors. These mask errors can be amplifiedupon wafer print, degrading pattern image fidelity and resulting inassist feature printing. The sensitivity of the wafer print to maskerrors cannot be predicted without information about the opticalconfiguration that will be used to print the wafer. Also the sensitivityis expected to vary so widely across the layout as to preclude theapplication of a single guard band specification. It is thus desirableto combine mask data preparation with optical proximity correction(OPC), at least in a refinement process.

BRIEF SUMMARY OF THE INVENTION

Aspects of the invention relate to techniques for integrating opticalproximity correction and mask data preparation. In an OPC-MDP process,according to various embodiments of the invention, first mask writerinstructions for a layout design are simulated to generate a maskcontour. The layout design represents at least a portion of anintegrated circuit design. The first mask writer instructions may bederived from an initial MDP operation that performs a conventionalfracturing process on initial layout data, from a previous iteration ofthe OPC-MDP process, or an MDP global operation. The initial layout datamay be generated by an OPC global operation.

Based on the generated mask contour, first layout data for the layoutdesign are adjusted for optical proximity correction to generate secondlayout data. The first layout data may be the initial layout data or thelayout data from a previous iteration of the OPC-MDP process.Traditional OPC or inverse lithography may be employed for thisoperation. Using the generated second layout data as mask target, thefirst mask writer instructions are adjusted to generate second maskwriter instructions.

The above OPC-MDP process may be iterated until an end condition is met.One such end condition is residue mask and wafer errors are less thanthreshold error values. Another end condition is the number ofiterations reaches a threshold number.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a computing system that may be used toimplement various embodiments of the invention.

FIG. 2 illustrates an example of a multi-core processor unit that may beused to implement various embodiments of the invention.

FIG. 3 illustrates an OPC-MDP tool according to various implementationsof the invention.

FIG. 4 illustrates a flow chart describing an OPC and MDP integrationmethod according to various implementations of the invention.

FIG. 5 illustrates a flow chart describing an OPC and MDP integrationmethod that use outputs of global operations as initial inputs toOPC/MDP local iterations according to some implementations of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

Various aspects of the present invention relate to integrating opticalproximity correction and mask data preparation. In the followingdescription, numerous details are set forth for purpose of explanation.However, one of ordinary skill in the art will realize that theinvention may be practiced without the use of these specific details. Inother instances, well-known features have not been described in detailsto avoid obscuring the present invention.

Although the operations of some of the disclosed methods, apparatus, andsystems are described in a particular, sequential order for convenientpresentation, it should be understood that this manner of descriptionencompasses rearrangement, unless a particular ordering is required byspecific language set forth below. For example, operations describedsequentially may in some cases be rearranged or performed concurrently.Moreover, for the sake of simplicity, the attached figures may not showthe various ways in which the disclosed methods, apparatus, and systemscan be used in conjunction with other methods, apparatus, and systems.Additionally, the description sometimes uses terms like “simulate,”“adjust” and “generate” to describe the disclosed methods. These termsare high-level abstractions of the actual operations that are performed.The actual operations that correspond to these terms may vary dependingon the particular implementation and are readily discernible by one ofordinary skill in the art.

Any of the disclosed techniques can be implemented in whole or in partby software comprising computer-executable instructions stored oncomputer-readable media. Such software can comprise, for example, anappropriate electronic design automation (“EDA”) software tool (e.g., anautomatic test pattern generation (“ATPG”) tool). Such software can beexecuted on a single computer or on a networked computer (e.g., via theInternet, a wide-area network, a local-area network, a client-servernetwork, or other such network). For clarity, only certain selectedaspects of the software-based implementations are described. Otherdetails that are well known in the art are omitted. For example, itshould be understood that the disclosed technology is not limited to anyspecific computer language, program, or computer. For example, thedisclosed technology can be implemented using any commercially availablecomputer executing a program written in any commercially available orotherwise suitable language. Any of the disclosed methods canalternatively be implemented (partially or completely) in hardware(e.g., an ASIC, PLD, or SoC).

Any data produced from any of the disclosed methods (e.g., intermediateor final test patterns, test patterns values, or control data) can bestored on computer-readable media (e.g., tangible computer-readablemedia, such as one or more CDs, volatile memory components (such as DRAMor SRAM), or nonvolatile memory components (such as hard drives)) usinga variety of different data structures or formats. Such data can becreated, updated, or stored using a local computer or over a network(e.g., by a server computer).

As used in this disclosure, the singular forms “a,” “an,” and “the”include the plural forms unless the context clearly dictates otherwise.Additionally, the term “includes” means “comprises.” Moreover, unlessthe context dictates otherwise, the term “coupled” means electrically orelectromagnetically connected or linked and includes both directconnections or direct links and indirect connections or indirect linksthrough one or more intermediate elements not affecting the intendedoperation of the circuit. Furthermore, the term “design” is intended toencompass data describing an entire microdevice, such as an integratedcircuit device or micro-electromechanical system (MEMS) device. Thisterm also is intended to encompass a smaller group of data describingone or more components of an entire microdevice, however, such as alayer of an integrated circuit device, or even a portion of a layer ofan integrated circuit device. Still further, the term “design” also isintended to encompass data describing more than one microdevice, such asdata to be used to create a mask or reticle for simultaneously formingmultiple microdevices on a single wafer. The layout design data may bein any desired format, such as, for example, the Graphic Data System II(GDSII) data format or the Open Artwork System Interchange Standard(OASIS) data format proposed by Semiconductor Equipment and MaterialsInternational (SEMI). Other formats include an open source format namedOpen Access, Milkyway by Synopsys, Inc., and EDDM by Mentor Graphics,Inc.

Exemplary Operating Environment

The execution of various electronic design automation processesaccording to embodiments of the invention may be implemented usingcomputer-executable software instructions executed by one or moreprogrammable computing devices. Because these embodiments of theinvention may be implemented using software instructions, the componentsand operation of a generic programmable computer system on which variousembodiments of the invention may be employed will first be described.Further, because of the complexity of some electronic design automationprocesses and the large size of many circuit designs, various electronicdesign automation tools are configured to operate on a computing systemcapable of simultaneously running multiple processing threads. Thecomponents and operation of a computer network having a host or mastercomputer and one or more remote or servant computers therefore will bedescribed with reference to FIG. 1. This operating environment is onlyone example of a suitable operating environment, however, and is notintended to suggest any limitation as to the scope of use orfunctionality of the invention.

In FIG. 1, the computer network 101 includes a master computer 103. Inthe illustrated example, the master computer 103 is a multi-processorcomputer that includes a plurality of input and output devices 105 and amemory 107. The input and output devices 105 may include any device forreceiving input data from or providing output data to a user. The inputdevices may include, for example, a keyboard, microphone, scanner orpointing device for receiving input from a user. The output devices maythen include a display monitor, speaker, printer or tactile feedbackdevice. These devices and their connections are well known in the art,and thus will not be discussed at length here.

The memory 107 may similarly be implemented using any combination ofcomputer readable media that can be accessed by the master computer 103.The computer readable media may include, for example, microcircuitmemory devices such as read-write memory (RAM), read-only memory (ROM),electronically erasable and programmable read-only memory (EEPROM) orflash memory microcircuit devices, CD-ROM disks, digital video disks(DVD), or other optical storage devices. The computer readable media mayalso include magnetic cassettes, magnetic tapes, magnetic disks or othermagnetic storage devices, punched media, holographic storage devices, orany other medium that can be used to store desired information.

As will be discussed in detail below, the master computer 103 runs asoftware application for performing one or more operations according tovarious examples of the invention. Accordingly, the memory 107 storessoftware instructions 109A that, when executed, will implement asoftware application for performing one or more operations. The memory107 also stores data 109B to be used with the software application. Inthe illustrated embodiment, the data 109B contains process data that thesoftware application uses to perform the operations, at least some ofwhich may be parallel.

The master computer 103 also includes a plurality of processor units 111and an interface device 113. The processor units 111 may be any type ofprocessor device that can be programmed to execute the softwareinstructions 109A, but will conventionally be a microprocessor device.For example, one or more of the processor units 111 may be acommercially generic programmable microprocessor, such as Intel®Pentium® or Xeon™ microprocessors, Advanced Micro Devices Athlon™microprocessors or Motorola 68K/Coldfire® microprocessors. Alternatelyor additionally, one or more of the processor units 111 may be acustom-manufactured processor, such as a microprocessor designed tooptimally perform specific types of mathematical operations. Theinterface device 113, the processor units 111, the memory 107 and theinput/output devices 105 are connected together by a bus 115.

With some implementations of the invention, the master computing device103 may employ one or more processing units 111 having more than oneprocessor core. Accordingly, FIG. 2 illustrates an example of amulti-core processor unit 111 that may be employed with variousembodiments of the invention. As seen in this figure, the processor unit111 includes a plurality of processor cores 201. Each processor core 201includes a computing engine 203 and a memory cache 205. As known tothose of ordinary skill in the art, a computing engine contains logicdevices for performing various computing functions, such as fetchingsoftware instructions and then performing the actions specified in thefetched instructions. These actions may include, for example, adding,subtracting, multiplying, and comparing numbers, performing logicaloperations such as AND, OR, NOR and XOR, and retrieving data. Eachcomputing engine 203 may then use its corresponding memory cache 205 toquickly store and retrieve data and/or instructions for execution.

Each processor core 201 is connected to an interconnect 207. Theparticular construction of the interconnect 207 may vary depending uponthe architecture of the processor unit 111. With some processor cores201, such as the Cell microprocessor created by Sony Corporation,Toshiba Corporation and IBM Corporation, the interconnect 207 may beimplemented as an interconnect bus. With other processor units 111,however, such as the Opteron™ and Athlon™ dual-core processors availablefrom Advanced Micro Devices of Sunnyvale, Calif., the interconnect 207may be implemented as a system request interface device. In any case,the processor cores 201 communicate through the interconnect 207 with aninput/output interface 209 and a memory controller 210. The input/outputinterface 209 provides a communication interface between the processorunit 111 and the bus 115. Similarly, the memory controller 210 controlsthe exchange of information between the processor unit 111 and thesystem memory 107. With some implementations of the invention, theprocessor units 111 may include additional components, such as ahigh-level cache memory accessible shared by the processor cores 201.

While FIG. 2 shows one illustration of a processor unit 111 that may beemployed by some embodiments of the invention, it should be appreciatedthat this illustration is representative only, and is not intended to belimiting. For example, some embodiments of the invention may employ amaster computer 103 with one or more Cell processors. The Cell processoremploys multiple input/output interfaces 209 and multiple memorycontrollers 210. Also, the Cell processor has nine different processorcores 201 of different types. More particularly, it has six or moresynergistic processor elements (SPEs) and a power processor element(PPE). Each synergistic processor element has a vector-type computingengine 203 with 428×428 bit registers, four single-precision floatingpoint computational units, four integer computational units, and a 556KB local store memory that stores both instructions and data. The powerprocessor element then controls that tasks performed by the synergisticprocessor elements. Because of its configuration, the Cell processor canperform some mathematical operations, such as the calculation of fastFourier transforms (FFTs), at substantially higher speeds than manyconventional processors.

It also should be appreciated that, with some implementations, amulti-core processor unit 111 can be used in lieu of multiple, separateprocessor units 111. For example, rather than employing six separateprocessor units 111, an alternate implementation of the invention mayemploy a single processor unit 111 having six cores, two multi-coreprocessor units each having three cores, a multi-core processor unit 111with four cores together with two separate single-core processor units111, etc.

Returning now to FIG. 1, the interface device 113 allows the mastercomputer 103 to communicate with the servant computers 117A, 117B, 117C. . . 117 x through a communication interface. The communicationinterface may be any suitable type of interface including, for example,a conventional wired network connection or an optically transmissivewired network connection. The communication interface may also be awireless connection, such as a wireless optical connection, a radiofrequency connection, an infrared connection, or even an acousticconnection. The interface device 113 translates data and control signalsfrom the master computer 103 and each of the servant computers 117 intonetwork messages according to one or more communication protocols, suchas the transmission control protocol (TCP), the user datagram protocol(UDP), and the Internet protocol (IP). These and other conventionalcommunication protocols are well known in the art, and thus will not bediscussed here in more detail.

Each servant computer 117 may include a memory 119, a processor unit121, an interface device 123, and, optionally, one more input/outputdevices 125 connected together by a system bus 127. As with the mastercomputer 103, the optional input/output devices 125 for the servantcomputers 117 may include any conventional input or output devices, suchas keyboards, pointing devices, microphones, display monitors, speakers,and printers. Similarly, the processor units 121 may be any type ofconventional or custom-manufactured programmable processor device. Forexample, one or more of the processor units 121 may be commerciallygeneric programmable microprocessors, such as Intel® Pentium® or Xeon™microprocessors, Advanced Micro Devices Athlon™ microprocessors orMotorola 68K/Coldfire® microprocessors. Alternately, one or more of theprocessor units 121 may be custom-manufactured processors, such asmicroprocessors designed to optimally perform specific types ofmathematical operations. Still further, one or more of the processorunits 121 may have more than one core, as described with reference toFIG. 2 above. For example, with some implementations of the invention,one or more of the processor units 121 may be a Cell processor. Thememory 119 then may be implemented using any combination of the computerreadable media discussed above. Like the interface device 113, theinterface devices 123 allow the servant computers 117 to communicatewith the master computer 103 over the communication interface.

In the illustrated example, the master computer 103 is a multi-processorunit computer with multiple processor units 111, while each servantcomputer 117 has a single processor unit 121. It should be noted,however, that alternate implementations of the invention may employ amaster computer having single processor unit 111. Further, one or moreof the servant computers 117 may have multiple processor units 121,depending upon their intended use, as previously discussed. Also, whileonly a single interface device 113 or 123 is illustrated for both themaster computer 103 and the servant computers, it should be noted that,with alternate embodiments of the invention, either the computer 103,one or more of the servant computers 117, or some combination of bothmay use two or more different interface devices 113 or 123 forcommunicating over multiple communication interfaces.

With various examples of the invention, the master computer 103 may beconnected to one or more external data storage devices. These externaldata storage devices may be implemented using any combination ofcomputer readable media that can be accessed by the master computer 103.The computer readable media may include, for example, microcircuitmemory devices such as read-write memory (RAM), read-only memory (ROM),electronically erasable and programmable read-only memory (EEPROM) orflash memory microcircuit devices, CD-ROM disks, digital video disks(DVD), or other optical storage devices. The computer readable media mayalso include magnetic cassettes, magnetic tapes, magnetic disks or othermagnetic storage devices, punched media, holographic storage devices, orany other medium that can be used to store desired information.According to some implementations of the invention, one or more of theservant computers 117 may alternately or additionally be connected toone or more external data storage devices. Typically, these externaldata storage devices will include data storage devices that also areconnected to the master computer 103, but they also may be differentfrom any data storage devices accessible by the master computer 103.

It also should be appreciated that the description of the computernetwork illustrated in FIG. 1 and FIG. 2 is provided as an example only,and it not intended to suggest any limitation as to the scope of use orfunctionality of alternate embodiments of the invention.

Model-Based Mask Data Preparation

As noted previously, model-based mask data preparation methods mayachieve shot count savings and preserve curved shapes. An optimizationbased fracture process, discussed in a paper entitled “Reducing shotcount through optimization based facture,” Lin et al., Proceedings ofSPIE, Vol. 8166, which is incorporated herein by reference, allows foroverlapping shots, a significant departure from traditional fracture. Ane-beam blur model is incorporated to simulate the expected mask contourfrom the overlapping shot shapes. Convolved with Gaussian kernels,overlapping of rectangles or trapezoids can produce smooth contours withround corners. While the curvature present in the mask target may bereproduced exactly in some cases, it will not be possible to achievearbitrary fidelity between the optimization based fracture result andthe mask target without increasing the number of shots. In other words,some tradeoff between mask pattern fidelity and achievable shot countsavings may be needed in a majority of cases.

E-beam blur may be used to smooth the target of a Manhattan input forthe purposes of providing a smooth contour. However, this approachimplies that the mask maker is allowed some liberty to interpret thelithography intent. For example, applying a blur value that results inthe elimination of a jog implies that jog was not important to the OPCresult. However, it is generally not possible for the mask manufacturerto properly assess this impact without knowledge of the wafer (opticaland resist) models used to create the OPC solution. In other words, byapplying target smoothing of Manhattan mask, the mask manufacturer ismodifying the mask target. Doing so without proper lithographycharacterization is not recommended.

Another model-based mask data preparation method, discussed in a paperentitled “Writing ‘wavy’ metal 1 shapes on 22 nm logic wafers with lessshot count,” Zable et al., Photomask Japan 2010, which is incorporatedherein by reference, takes advantage of circular apertures and allowsthe shots to overlap on purpose. Overlapping circular shots can producebetter edge slope at the line ends of the SRAF. In a MDP process, everye-beam shot is simulated to produce the dose map that each shotcontributes to the mask surface. Short-range (including forwardscattering, short-range e-beam blur) as well as long-range (includingbackscattering) effects are modeled, producing a dose map on the masksurface. That dose map cut off at a certain resist threshold value (e.g,0.5) produces a contour that is predicted to be printed on the masksurface. By taking the model-based approach, any character shot, notjust a circular or a variable shaped beam shot of any dose can beproperly modeled. This adds a large amount of flexibility in how e-beamshots are combined to produce the desired shape on the mask.

Two alternative flows based on the above model-based mask datapreparation method are possible. One is to deploy conventionalfracturing first, followed by model-based mask data preparation whereconventionally fractured shots are improved either in shot count, edgeslope, or both for certain of the shapes. The other is to divide thedesign into conventional parts and complex parts where the conventionalparts are handled by conventional fracturing and complex parts arehandled by model-based mask data preparation. In the latter flow,however, unless the sections of data are sufficiently isolated from eachother, model-based mask data preparation needs to be able to “see” theconventionally fractured shots for proximity effects.

Inverse Lithography

While traditional or conventional OPC can be employed to repair layoutdesign defects that would cause print errors, as discussed in the U.S.Pat. No. 7,926,002, inverse lithography may lead to a better or simplerrepair approach.

Traditional OPC, while often referred to as “Model-based OPC” (MBOPC),usually comprises a mixture of rules and models. An example of acorrection flow traditionally used with MBOPC is described in FIG. 8.The correction flow includes four basic steps: Step 1 shows an initiallayout feature before correction, step 2 shows the layout feature afterfragmentation and the initial optical/resist simulation, step 3 shows atypical mask result during correction and step 4 is the final simulatedcontour overlaid with the initial design layout.

After input of the designer's layout (step 1) the layout is fragmented(step 2). Fragmentation is the process by which the layout is dividedinto movable fragments, within which the edge-placement error (EPE) iscomputed. Fragmentation is needed to produce a manufacturable mask, andto simplify the OPC algorithm. In the next step (step 3) the mask isrepeatedly simulated and the fragments displaced to gradually reduce theEPE to zero. The resulting output (step 4) should be a mask whichenables faithful reproduction of the designer's intent on the wafer(limited by e.g., the diffractive nature of the imaging optics).

The above OPC flow can present several practical challenges to an OPCengineer. For example, fragments are most easily placed using a set ofrules, which becomes increasingly more complex with each successivetechnology shrink. Image-based or adaptive fragmentation may alleviatesome of these fragmentation challenges. Another challenge is related toMEEF. Each fragment is typically assigned a displacement to correct theEPE within the fragment in the above flow. However, in tightly-packedareas with high-MEEF, the movement of other fragments in the region canhave a large impact on the EPE within the current fragment. The simplestsolution to this problem is to apply a dampening (feedback) factor tothe computed EPE, and repeatedly iteration to achieve a stable solution.Another proposed solution is the Matrix OPC concept where a MEEF Matrixis computed and inverted to more accurately determine the displacementfor all fragments in a given region. Although solutions to the aboveproblems (and others) exist, the solutions often involve an increasedlevel of complexity in the OPC flow.

Inverse lithography, sometimes referred to as extreme OPC, inverse OPC,or pixOPC, treats the proximity correction problem as a constraintoptimization problem over the domain of pixilated masks. Large pieces ofthe layout are usually broken down into rectangular frames. The sizes offrames may be dictated by the memory resources of the hardware, andability to perform fast Fourier transformations. The frames areindependently corrected for proximity effects, and then the frames arestitched together.

For each frame, the main objective G is a functional that expresses adeviation of the image I(x,y) from the threshold constant T along thetarget contours C_(i) of the frame:

$\begin{matrix}{G =  {\sum\limits_{l}\;{\oint\limits_{C_{i}}{( {{I( {\xi,\eta} )} - T} )^{2}{\mathbb{d}l}}}}arrow{\min.} } & (1)\end{matrix}$

Here ζ=ζ(l) and η=η(l) are Cartesian coordinates along the targetcontours; dl represents a contour integration element. The image I(x,y)is controlled by the mask, thus the main functional G depends on themask transmission m=m(x,y), a complex-valued piece-wise constantfunction. Thus the constrained optimization problem may be stated asfinding the mask m=m(x,y) that minimizesG[m]→min,  (2)while constraining acceptable values of the mask transmission functionto the constants m_(min) and 1. For chrome masks m_(min)=0. For OMOGmasks m_(min) is a complex constant m_(min)≈(0.023, −0.022). The inverselithography tries to find an analytical representation of the gradientof the objective, and then may use fast Fourier transformation toquickly calculate it.

The analytical expression for the gradient of the objective can be foundby perturbing the mask m→m+δm and then finding the linear part of theperturbation of the objective δG. In the case of the objective (1), thefollowing analytical expression for the gradient may be obtained:

$\begin{matrix}{{{g( {x,y} )} = {4{Re}{\sum\limits_{k = 1}^{N}\;{\lambda_{k}{\sum\limits_{i}\;{\int\limits_{C_{i}}{( {{I( {\varsigma,\eta} )} - T} ){A_{k}^{*}( {\xi,\eta} )}{K_{k}( {{\xi - x},{\eta - y}} )}{\mathbb{d}l}}}}}}}}\mspace{79mu}{{I( {x,y} )} = {\sum\limits_{k = 1}^{N}\;{\lambda_{k}{A_{k}^{*}( {x,y} )}{A_{k}( {x,y} )}}}}\mspace{79mu}{A_{k} = {{K_{k}( {x,y} )} \otimes {m( {x,y} )}}}} & (3)\end{matrix}$where N is the total number of optical kernels, λ_(n) are weights of theoptical kernels, A_(n) is the electrical field from the n-th kernelK_(n). The discretized version of (3) can be quickly calculated throughfast Fourier transformations.

The gradient g(x,y) of the objective is used in the iterative procedureto move mask contours or to modify mask transmissions in a manner thatreduced the value of the objective function G. Sub-resolution assistfeatures (SRAFs) are automatically generated in an inverse lithographyprocess. Thus, the inverse lithography can also be used for SRAF repair.

OPC and MDP Integration

Integration of OPC and MDP can derive a mask shape target that optimizesrelevant measures of both underlying physical processes: maskmanufacturing and wafer manufacturing. FIG. 3 illustrates an example ofan OPC-MDP tool 300 that may be implemented according to variousembodiments of the invention. As seen in this figure, the OPC-MDP tool300 includes an OPC unit 310 and an MDP unit 320. An OPC process isapplied on layout design data 315 by the OPC unit 310. The alteredlayout design data serve as mask target for a mask data preparationprocess conducted by the MDP unit 320. The mask data preparation processproduces mask writer instructions 325. The MDP unit also simulates themask writer instructions to produce simulated mask contour data 335.

According to some embodiments of the invention, one or both of the OPCunit 310 and the MDP unit 320 may be implemented by one or two computingsystems, such as the computing system illustrated in FIGS. 1 and 2,executing programmable instructions. Correspondingly, some otherembodiments of the invention may be implemented by software-executableinstructions, stored on a non-transitory computer-readable medium, forinstructing a computing system to perform functions of one or both ofthe OPC unit 310 and the MDP unit 320. As used herein, the term“non-transitory computer-readable medium” refers to computer-readablemedium that are capable of storing data for future retrieval, and notpropagating electro-magnetic waves. The non-transitory computer-readablemedium may be, for example, a magnetic storage device, an opticalstorage device, a “punched” surface type device, or a solid statestorage device.

For ease of understanding, OPC and MDP integration methods that may beemployed according to various embodiments of the invention will bedescribed with reference to the OPC-MDP tool 300 in FIG. 3 and the flowchart 400 illustrated in FIG. 4. It should be appreciated, however, thatalternate implementations of an OPC-MDP tool may be used to perform theOPC and MDP integration methods illustrated by the flow chart 400according to various embodiments of the invention. Likewise, the OPC-MDPtool 300 may be employed to perform other OPC and MDP integrationmethods according to various embodiments of the invention.

Initially, in operation 410 of the flowchart 400, the MDP unit 320simulates first mask writer instructions for a layout design to generatea mask contour. The layout design represents at least a portion of anintegrated circuit design. The first mask writer instructions may bederived from an initial MDP operation that performs a conventionalfracturing process on initial layout data, from a previous iteration ofthe process illustrated by the flowchart 400, or an MDP globaloperation. The latter two will be discussed in detail below.

Next, in operation 420, the OPC unit 310 adjusts first layout data forthe layout design for optical proximity correction base on the maskcontour to generate second layout data. The first layout data may be theinitial layout data or the layout data from a previous iteration of theprocess illustrated by the flowchart 400. In a corresponding traditionalOPC step, layout data are adjusted based on edge placement error data.The edge placement error data are obtained by comparing the wafer targetwith simulated wafer print features. The simulation usually does notconsider effects of fracturing and mask proximity correction. The OPCstep based on inverse lithography also does not consider these effects.The mask contour, on the other hand, includes them and may help the OPCunit 310 to make a better layout adjustment no matter whether atraditional OPC approach or an inverse lithography approach isimplemented.

Next, in operation 430, the MDP unit 320 adjusts the first mask writerinstructions based on the second layout data to generate second maskwriter instructions. The second layout data serve as mask target.Various model-based mask data preparation approaches such as the twodescribed in a previous section may be implemented by the MDP unit 320.

With various implementations of the invention, after the adjustments,the OPC-MDP tool 300 may determine whether one of the one or more endconditions is met. If none of the one or more end conditions is met, theOPC-MDP tool 300 may iterate the operations 410-430. One such endcondition may be whether the adjustments performed by the OPC unit 310and the MDP unit 320 are converged. For example, if residue mask andwafer errors are less than threshold error values, the OPC-MDP tool 300may exit the iteration. Another end condition to check may be whetherthe number of iterations reaches a threshold number.

The initial input of layout data and mask writer instructions for theabove iteration operation may be derived by an OPC global operation andan MDP global operation. With various implementations of the invention,the OPC global operation specifies the topology of the mask by definingthe number, shape and general location of mask shapes while the OPClocal operation refines edge/vertex locations within small specialneighborhood. The MDP global operation defines the number, approximatesize and location of the e-beam shots for the mask writer while the MDPlocal operation performs a refinement process such as adjusting thee-beams shots for corner locations.

FIG. 5 illustrates a flow chart describing an OPC and MDP integrationmethod that use outputs of global operations as initial inputs toOPC/MDP local iterations according to some implementations of theinvention. In operation 510, an OPC global operation is performed onoriginal layout data to produce initial layout data, which serve asinput to both MDP global operation 520 and OPC local operation 530. Inoperation 520, an MDP global operation is performed on the initiallayout data to produce initial mask writer instructions, which serve asinput to an MDP local operation 540.

In operation 540, an MDP operation is performed on the initial maskwriter instructions to produce mask writer instructions 545. Simulatedmask contour data 535 are also produced to serve as input to the OPClocal operation 530. In operation 530, an OPC local operation isperformed on the initial layout data based on the simulated mask contourdata 535 to produce mask target data 525. Convergence is checked at 550and 560. If convergence conditions are not met, local operations arerepeated. Rather than the initial layout data and the initial maskwriter instructions, the newly produced mask target data and mask writerinstructions serve as input to the operations 530 and 540, respectively.As will be appreciated by those of ordinary skill in the art, other endconditions such as the number of iterations may also be checked inoperations 550 and 560.

As indicated by FIG. 5, the operations 410 and 430 may be performed bythe MDP unit 320 simultaneous.

CONCLUSION

Having illustrated and described the principles of the disclosedtechnology, it will be apparent to those skilled in the art that thedisclosed embodiments can be modified in arrangement and detail withoutdeparting from such principles. In view of the many possible embodimentsto which the principles of the disclosed technologies can be applied, itshould be recognized that the illustrated embodiments are only preferredexamples of the technologies and should not be taken as limiting thescope of the invention. Rather, the scope of the invention is defined bythe following claims and their equivalents. We therefore claim as ourinvention all that comes within the scope and spirit of these claims.

What is claimed is:
 1. One or more non-transitory computer-readablemedia storing computer-executable instructions for causing one or moreprocessors to perform a method, the method comprising: simulating firstmask writer instructions for a layout design to generate a mask contour,the layout design representing at least a portion of an integratedcircuit design, the mask contour being a contour that is predicted to beprinted on the mask surface; adjusting first layout data for the layoutdesign for optical proximity correction base on the mask contour togenerate second layout data; and adjusting the first mask writerinstructions based on the second layout data to generate second maskwriter instructions.
 2. The one or more non-transitory computer-readablemedia recited in claim 1, wherein the method further comprises:iterating the operations of simulating, adjusting first layout data andadjusting the first mask writer instructions until an end condition ismet.
 3. The one or more non-transitory computer-readable media recitedin claim 2, wherein the end condition comprises a condition that boththe layout data adjustment and the mask writer instructions adjustmentare converged.
 4. The one or more non-transitory computer-readable mediarecited in claim 1, wherein the operation of adjusting first layout datais one iteration of an optical proximity correction process.
 5. The oneor more non-transitory computer-readable media recited in claim 4,wherein the optical proximity correction process is based on inverselithography.
 6. The one or more non-transitory computer-readable mediarecited in claim 1, wherein the operation of adjusting the first maskwriter instructions is one iteration of a model-based mask datapreparation process.
 7. The one or more non-transitory computer-readablemedia recited in claim 1, wherein the first mask writer instructions aregenerated by a global operation of a model-based mask data preparationprocess.
 8. The one or more non-transitory computer-readable mediarecited in claim 1, wherein the first layout data are generated by aglobal operation of an optical proximity process.
 9. A method,comprising: with a computer, simulating first mask writer instructionsfor a layout design to generate a mask contour, the layout designrepresenting at least a portion of an integrated circuit design, themask contour being a contour that is predicted to be printed on the masksurface; adjusting first layout data for the layout design for opticalproximity correction base on the mask contour to generate second layoutdata; and adjusting the first mask writer instructions based on thesecond layout data to generate second mask writer instructions.
 10. Themethod recited in claim 9, further comprising: iterating the operationsof simulating, adjusting first layout data and adjusting the first maskwriter instructions until an end condition is met.
 11. The methodrecited in claim 10, wherein the end condition comprises a conditionthat both the layout data adjustment and the mask writer instructionsadjustment are converged.
 12. The method recited in claim 9, wherein theoperation of adjusting first layout data is one iteration of an opticalproximity correction process.
 13. The method recited in claim 12,wherein the optical proximity correction process is based on inverselithography.
 14. The method recited in claim 9, wherein the operation ofadjusting the first mask writer instructions is one iteration of amodel-based mask data preparation process.
 15. The method recited inclaim 9, wherein the first mask writer instructions are generated by aglobal operation of a model-based mask data preparation process.
 16. Themethod recited in claim 9, wherein the first mask writer instructionsare generated by a global operation of a model-based mask datapreparation process.
 17. A system comprising: one or more processors,the one or more processors programmed to perform a method, the methodcomprising: simulating first mask writer instructions for a layoutdesign to generate a mask contour, the layout design representing atleast a portion of an integrated circuit design, the mask contour beinga contour that is predicted to be printed on the mask surface; adjustingfirst layout data for the layout design for optical proximity correctionbase on the mask contour to generate second layout data; and adjustingthe first mask writer instructions based on the second layout data togenerate second mask writer instructions.
 18. The system recited inclaim 17, wherein the method further comprises: iterating the operationsof simulating, adjusting first layout data and adjusting the first maskwriter instructions until an end condition is met.
 19. The systemrecited in claim 17, wherein the operation of adjusting first layoutdata is one iteration of an optical proximity correction process. 20.The system recited in claim 17, wherein the optical proximity correctionprocess is based on inverse lithography.